Annotated Threads : A Mechanism for Communicating Compile - Time Analysis Information to the Run - Time System
نویسنده
چکیده
In order to achieve e cient execution of an algorithm on a large scale multiprocessor, a number of problems have to be addressed. Three of these problems are partitioning, placement and scheduling. In the current implementation of Alewife, these problems are handled mostly by the run-time system using Lazy Thread Creation and a Distributed-Tree Task Manager, both of which are described in this memo. Compile-time analyses can often be used to great advantage when attacking these problems. Unfortunately, a complete static analysis is not possible for many programs. In some of these cases, the compiler can perform an incomplete analysis. It ought to be possible to encapsulate
منابع مشابه
Compile/Run-Time Support for Thread Migration
This paper describes a generic mechanism to migrate threads in heterogeneous distributed environments. To maintain high portability and flexibility, thread migration is implemented at language level. At compile-time, a preprocessor scans the C and C++ programs to build thread state, detects possible thread migration points, and transforms the source code accordingly. Run-time support helps migr...
متن کاملShape-based cost analysis of skeletal parallel programs
This work presents an automatic cost-analysis system for an implicitly parallel skeletal programming language. Although deducing interesting dynamic characteristics of parallel programs (and in particular, run time) is well known to be an intractable problem in the general case, it can be alleviated by placing restrictions upon the programs which can be expressed. By combining two research thre...
متن کاملCombining Static Partitioning with Dynamic Distribution of Threads
This paper presents a hybrid approach to automatic parallelization of computer programs which combines static extraction of threads (tasks) with dynamic scheduling for parallel and distributed execution. Fine-grain scheduling decisions are made at compile time, and coarse-grain scheduling decisions are made at run time. The approach consists of two components: compiler technology which performs...
متن کاملStatic Deadlock Analysis for CSP-type Communications
We present two tests for analyzing deadlock for a class of communicating sequential processes. The tests can be used for deadlock detection in parallel and distributed programs at compile time, or for debugging purposes at run time. They can also be used in conjunction with an algorithm we have for constructing valid execution traces for this class.
متن کاملReal-time Scheduling of a Flexible Manufacturing System using a Two-phase Machine Learning Algorithm
The static and analytic scheduling approach is very difficult to follow and is not always applicable in real-time. Most of the scheduling algorithms are designed to be established in offline environment. However, we are challenged with three characteristics in real cases: First, problem data of jobs are not known in advance. Second, most of the shop’s parameters tend to be stochastic. Third, th...
متن کامل